/*
  C202405-A4：通关秘籍
  题目描述
    有一款游戏，其中有 n 个关卡，从 1 到 n 进行编号。
    关卡之间有 m 对依赖关系 (u, v)，表示在进入第 v 个关卡前，必须先通过编号为 u 的关卡。
    为了通关这款游戏，兰朵需要选择一种进入关卡的顺序。
    但兰朵有严重的强迫症：
      她有一个长度为 k 的序列 a，表示 k 个指定关卡的编号，她需要保证这 k 个关卡是连续进行的。
      即：如果某一时刻她选择了进入编号为 a[1] 的关卡，
          那接下来她就只能依次通过编号为 a[2]，a[3]，……，a[k] 的关卡。
          在编号为 a[k] 的关卡通过后，她才能选择进入序列 a 之外的其他关卡。
    请你帮她找出一种通关的顺序，满足以上的所有限制。
  输入描述
    输入的第一行为两个空格分隔的正整数 n 和 m。
    随后 m 行，每行两个空格分隔的正整数 u 和 v。保证有序二元组 (u, v) 两两不同。
    接下来一行一个正整数 k，表示序列 a 的长度。
    随后一行 k 个空格分隔的正整数 a[i]。保证输入的序列 a 中的数字两两不同。
  输出描述
    输出一行 n 个空格分隔的正整数，表示完成任务的顺序。如果有多个满足条件的解，你可以输出任意一个。
    如果无解，则输出一行一个整数 -1。
  样例1
    输入
      4 4
      2 4
      1 2
      3 4
      1 3
      2
      2 4
    输出
      1 3 2 4
  样例2
    输入
      4 5
      2 4
      1 2
      3 4
      1 3
      2 3
      2
      2 4
    输出
      -1
  提示
    数据范围与约定
      对于 30 % 的测试数据，保证 1 ≤ n ≤ 200，1 ≤ m ≤ 300。
      对于 50 % 的测试数据，保证 1 ≤ n ≤ 5,000，1 ≤ m ≤ 7,000。
      对于 100 % 的测试数据，保证 1 ≤ n, m ≤ 2 × 10^5，1 ≤ k, a[i] ≤ n。
*/